package com.blb.mapper;

import com.blb.entity.IOrderLaser;
import com.blb.entity.OrderLaser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.blb.entity.StayProduction;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author tb
 * @since 2020-05-25
 */
public interface OrderLaserMapper extends BaseMapper<OrderLaser> {

    /**
     * 根据订单编号修改状态
     * @param orderNo
     * @return
     */
    boolean updateStatus(String orderNo);

    /**
     * 根据订单号查询列表
     * @param orderNo
     * @return
     */
    List<IOrderLaser> getByOrderNo(String orderNo);

    /**
     * 根据订单号查询总条数
     * @param orderNo
     * @return
     */
    int countByOrderNo(String orderNo);

    /**
     * 手动分配打印机，根据id修改状态为已打印
     * @param id
     * @param printerId
     * @return
     */
    boolean updateStatusById(@Param("id") String id,@Param("printerId") String printerId);

    /**
     * 待生产列表
     * @return
     */
    List<StayProduction> Ilist(Integer start, Integer length,String companyId);

    /**
     * 根据订单号查待生产订单
     * @return
     */
    List<StayProduction> queryByOrderNo(String orderNo,String companyId);

    /**
     * 根据订单编号修改待生产订单的状态
     * @param orderNo
     * @return
     */
    boolean updateStayByOrderIdToState(@Param("orderNo") String orderNo);

    /**
     * 根据id修改订单激光码表的打印机和状态
     * @param id
     * @param lpId
     * @return
     */
    boolean updateByIdToLpIdStatus(@Param("id") String id,@Param("lpId") String lpId);

    /**
     * 根据订单号查询未打印个数
     * @param orderNo
     * @return
     */
    int productionIsEndByOrderNo(String orderNo);

    /**
     * 根据订单号修改订单表的状态为"以生产"
     * @param orderNo
     * @return
     */
    boolean updateOrderStatus(String orderNo);
}
